#include <iostream>
using namespace std;
int x = 5;
bool check1(string a1);
bool check2(string a1,int n);
void add(string&s);
int main(){
	int n;
	cin>>n;
	if((n>45&&n%2)||n>54)
		cout<<-1;
	for(string i = "10001";i!="1000000";add(i))
		if(check1(i)&&check2(i,n))
		cout<<i<<endl;
	return 0;
}
bool check1(string a1){
	for(int i = 0;i<x/2;++i)
		if(a1[i]!=a1[x-i-1])
		return false;
	return true;
}
bool check2(string a1,int n){
	for(int j = 0;j<x;++j)
		n-=a1[j]-48;
	if(n)
		return false;
	return true;
}
void add(string&s){
	s[x-1]++;
	for(int i = x-1;i>=0;--i){
		if(s[i]>'9'){
			s[i]-=10;
			if(i>0){
				s[i-1]++;
			}
			if(i==0){
				s = "1"+s;
				x++;
			}
		}
		else 
			break;
	}
}